Public clouds have emerged as an important resource class enabling the renting of resources on-demand and supporting a pay-as-you-go pricing policy. Furthermore, private clouds or data centers are exploring the possibility of scaling out to public clouds to respond to unanticipated resource requirements. As a result, dynamically federated, hybrid cloud infrastructures that integrate enterprise datacenters, grids, private and/or public clouds are becoming increasingly important. Such federated cloud infrastructures also provide opportunities to improve application quality of service by allowing application tasks to be mapped to appropriate resource classes. For example, a typical application workflow is usually comprised of multiple application stages, which in turn, can be composed of different application components with heterogeneous computing requirements in terms of the complexity of the tasks, execution time, and data requirements. Managing and optimizing these workflows on dynamically federated hybrid clouds can be challenging, especially since doing so requires simultaneously addressing resource provisioning, scheduling and mapping while balancing quality of service with costs.